package com.knowif.aliOSS.bean.util;

import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;

import com.knowif.aliOSS.bean.AliImageStyleBean;

@Service
public class AliImageStyleBeanUtil {
	
	/**
	 * 得到ali图片缩放语句
	 * @author xingyao
	 * @date 2017年4月5日
	 * @describe
	 * @param aliImageStyleBean
	 * @return
	 */
	private String getResize(AliImageStyleBean aliImageStyleBean){
		if(aliImageStyleBean == null){
			return "";
		}
		if(aliImageStyleBean.getHeight() != 0 || aliImageStyleBean.getWidth()!=0){
			String style = "/resize,m_fixed,";
			if(aliImageStyleBean.getHeight() != 0){
				style += "h_"+aliImageStyleBean.getHeight();
			}
			if(style.endsWith(",") && aliImageStyleBean.getWidth() != 0){
				style += "w_"+aliImageStyleBean.getWidth();
			}
			if(!style.endsWith(",") && aliImageStyleBean.getWidth() != 0){
				style += ",w_"+aliImageStyleBean.getWidth();
			}
			return style;
		}
		return "";
	}
	
	
	/**
	 * 得到旋转的语句
	 * @author xingyao
	 * @date 2017年4月5日
	 * @describe
	 * @param aliImageStyleBean
	 * @return
	 */
	private String getRotate(AliImageStyleBean aliImageStyleBean){
		if(aliImageStyleBean == null){
			return "";
		}
		
		if(aliImageStyleBean.getRotate() != 0){
			return "/rotate,"+aliImageStyleBean.getRotate();
		}
		return "";
	}
	
	
//	/**
//	 * 得到图片水印
//	 * @author xingyao
//	 * @date 2017年4月5日
//	 * @describe
//	 * @param aliImageStyleBean
//	 * @return
//	 */
//	private static String getWatemark(AliImageStyleBean aliImageStyleBean){
//		if(aliImageStyleBean == null){
//			return "";
//		}
//		if(!StringUtil.isEmpty(aliImageStyleBean.getWatermark())){
//			return "/watermark,"+aliImageStyleBean.getWatermark(); 
//		}
//		return "";
//	}
	
	/**
	 * 得到格式转换语句
	 * @author xingyao
	 * @date 2017年4月5日
	 * @describe
	 * @param aliImageStyleBean
	 * @return
	 */
	private static String getFormat(AliImageStyleBean aliImageStyleBean){
		if(aliImageStyleBean == null){
			return "";
		}
		
		if(!StringUtils.isEmpty(aliImageStyleBean.getFormateName())){
			return  "/format,"+aliImageStyleBean.getFormateName(); 
		}
		return "";
	}
	
	
	public String getImageStyle(AliImageStyleBean aliImageStyleBean){
		if(aliImageStyleBean == null){
			return "";
		}
		StringBuffer stringBuffer = new StringBuffer("image");
		if(!StringUtils.isEmpty(getResize(aliImageStyleBean))){
			stringBuffer.append(getResize(aliImageStyleBean));
		}
		if(!StringUtils.isEmpty(getRotate(aliImageStyleBean))){
			stringBuffer.append(getRotate(aliImageStyleBean));
		}
//		if(!StringUtil.isEmpty(getWatemark(aliImageStyleBean))){
//			stringBuffer.append(getWatemark(aliImageStyleBean));
//		}
		if(!StringUtils.isEmpty(getFormat(aliImageStyleBean))){
			stringBuffer.append(getFormat(aliImageStyleBean));
		}
		return stringBuffer.toString();
	}
}
